// ignore_for_file: file_names, must_be_immutable

// 无状态组件, 纯展示用的组件
import 'package:flutter/material.dart';

class MyApp14 extends StatelessWidget {
  const MyApp14({super.key});

  List<Widget> getChildren() {
    return [1, 2, 3, 4, 5, 6, 7, 9, 10].map((int value) {
      return Container(
        alignment: Alignment.center,
        color: Colors.teal,
        child: Text(
          '第$value个',
          style: const TextStyle(color: Colors.white, fontSize: 30),
        ),
      );
    }).toList();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        // 1.1 导航
        appBar: AppBar(
          title: const Text('GridView组件'),
          backgroundColor: Colors.pink,
        ),
        // 1.2 主体内容
        body: Padding(
          padding: const EdgeInsets.all(10),
          child: GridView(

              // 1. 代理1
              // SliverGridDelegateWithFixedCrossAxisCount 一行的个数是固定的
              // gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
              //   // 1.1 列数
              //   crossAxisCount: 3,
              //   // 1.2 宽高比
              //   childAspectRatio: 1.5,
              //   // 1.3 列间距
              //   crossAxisSpacing: 10,
              //   // 1.4 行间距
              //   mainAxisSpacing: 10,
              // ),

              // 2. 代理2
              // SliverGridDelegateWithMaxCrossAxisExtent  一行的宽高是固定的
              gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent(
                // 2.1 宽高比
                childAspectRatio: 1.5,
                // 2.2 列间距
                crossAxisSpacing: 10,
                // 2.3 行间距
                mainAxisSpacing: 10,
                // 2.4 最大宽度
                maxCrossAxisExtent: 100,
              ),
              children: getChildren()),
        ));
  }
}
